1. Field of the Invention
This application is related to integrated circuits and more particularly to integrated circuit memory arrays.
2. Description of the Related Art
In general, a read-only memory (ROM) is a static memory structure that retains a state indefinitely, even without power. Read-only memory is typically arranged in an array having one bit cell per stored data bit. Signal lines connecting each row are known as word lines. An individual bit cell is coupled to at least some other bit cells (e.g., every bit cell) in the same column of the array. In a typical ROM, the array structure is implemented as a NOR array. The array structure may include any suitable NOR gate structure using one or more devices per bit cell (e.g., NMOS, pseudo-NMOS, domino NOR gate, etc.). The ROM may be programmed during device manufacturing or after device manufacturing.
A programmable read-only memory (PROM) (i.e., field programmable read-only memory (FPROM) or one-time programmable non-volatile memory (OTP NVM)) is a form of digital memory that is programmed after a device is constructed. In a typical PROM, a one-time programmable element is used to set the state of an individual bit cell. For example, the state of each bit cell may be locked or permanently stored by a fuse or an antifuse. Blowing a fuse opens a connection or increases the resistance of the fuse element by a substantially detectable amount, and programming an antifuse closes a connection or decreases the resistance of the antifuse element by a substantially detectable amount. A typical PROM is manufactured with all bit cells reading as a particular value (e.g., ‘0’ or ‘1’). If the PROM is manufactured with all bit cells reading as ‘1,’ blowing a fuse of a bit cell during programming will cause the bit cell to read as ‘0.’ A typical PROM can be programmed just once after manufacturing by blowing appropriate fuses, which is an irreversible process. In general, since it is impossible to reverse the programming (e.g., blowing) of a fuse, the only possible changes to the PROM after programming include changing the state of any bit cells that remain at ‘1’ to ‘0’ by blowing those remaining fuses. After all of the bit cells have blown fuses (e.g., read ‘0’), no further programming changes are possible.